package com.tankbattle.model;

import com.tankbattle.util.ImageManager;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;

/**
 * 地形元素类，继承自GameObject
 * 用于表示水面和草地等特殊地形
 */
public class Terrain extends GameObject {
    public enum TerrainType {
        WATER,  // 水面，阻挡坦克通过
        GRASS   // 草地，坦克可通过但会遮挡坦克
    }
    
    private TerrainType type;
    
    public Terrain(int x, int y, TerrainType type) {
        // 地形元素大小为32x32，与图片尺寸一致
        super(x, y, 32, 32);
        this.type = type;
    }
    
    @Override
    public void update(double delta) {
        // 地形不需要更新逻辑
    }
    
    @Override
    public void draw(Graphics2D g) {
        if (!active) return; // 非活跃地形不绘制
        
        // 根据地形类型选择图片
        String imageKey = (type == TerrainType.WATER) ? "water.png" : "grass.png";
        BufferedImage terrainImage = ImageManager.getInstance().getImage(imageKey);
        if (terrainImage != null) {
            g.drawImage(terrainImage, x, y, width, height, null);
        }
    }
    
    // Getter
    public TerrainType getType() {
        return type;
    }
}
